The present invention generally relates to computer processing systems, and more particularly to managing multiple computer processes in a hierarchical process group.
In multi-tasking processing systems, multiple processes can be active at the same time, where each process consumes processing system resources (e.g., main memory, CPU, disks, etc.). Resource monitoring utilities typically collect system resource usage by individual processes in isolation. This method of resource monitoring does not prevent a group of associated processes from collectively depleting all of the system resources. Resource depletion can be caused by a process creating numerous children processes, which individually may not raise any suspicions from a resource manager because each process does not exceed its own resource limits. A legitimate program with a defect or a malicious “fork bomb” may starve the processing system of all available resources by spawning additional processes to consume the resources. A typical solution is to establish resource limits on the entire system, which only mitigates the effect and reduces the performance of all of the other processes in the processing system.
Therefore, heretofore unaddressed needs still exist in the art to address the aforementioned deficiencies and inadequacies.